home *** CD-ROM | disk | FTP | other *** search
/ MASPC 1 / MASPC_1.iso / Demos / Demo DIV / DATA / PRG / TUTOR / TUTOR3.PRG < prev    next >
Encoding:
Text File  |  1997-12-03  |  2.6 KB  |  78 lines

  1. //---------------------------------------------------------------------------
  2. // Programa: Tutorial 3
  3. // Autor: Daniel Navarro Medrano
  4. // Fecha: 27/2/97
  5. //---------------------------------------------------------------------------
  6.  
  7. PROGRAM Tutorial_3;
  8.  
  9. GLOBAL
  10.     raqueta1,raqueta2; // Identificadores de las raquetas
  11.  
  12. BEGIN
  13.     // Carga el fichero con los gráficos del juego
  14.     load_fpg("tutorial\tutor3.fpg");
  15.  
  16.     put_screen(0,1);    // Pone el fondo de pantalla
  17.     fade_on();          // Enciende la pantalla
  18.     // Crea las dos raquetas y coge sus identificadores
  19.     raqueta1=raqueta(6,24,_q,_a);
  20.     raqueta2=raqueta(314,24,_p,_l);
  21.     // Crea el proceso de la bola
  22.     bola(160,100,1,1);
  23. END
  24.  
  25. //---------------------------------------------------------------------------
  26. // Proceso bola
  27. // Maneja la bola del juego
  28. // Entradas: x,y   = Coordenadas del gráfico
  29. //           ix,iy = Incrementos en cada una de las coordenadas
  30. //---------------------------------------------------------------------------
  31.  
  32. PROCESS bola(x,y,ix,iy);
  33.  
  34. BEGIN
  35.     graph=3;    // Selecciona el gráfico
  36.     REPEAT
  37.         FRAME(25);  // Lo muestra en pantalla más veces que los demas
  38.         // Comprueba si rebota con los laterales superior e inferior
  39.         IF (y==14 or y==186)
  40.             iy=-iy; // Cambia la direccion vertical
  41.         END
  42.         // Comprueba si rebota con las raquetas
  43.         IF ((x==10 and abs(y-raqueta1.y)<22) or
  44.            (x==310 and abs(y-raqueta2.y)<22))
  45.             ix=-ix; // Cambia la direccion horizontal
  46.         END
  47.         // Mueve la pelota
  48.         x=x+ix;
  49.         y=y+iy;
  50.     UNTIL (out_region(id,0))    // Repite hasta que se salga de pantalla
  51.     bola(160,100,ix,iy);        // Crea una nueva pelota
  52. END
  53.  
  54. //---------------------------------------------------------------------------
  55. // Proceso raqueta
  56. // Maneja las raquetas de los jugadores
  57. // Entradas: x,y    = Coordenadas de los gráficos
  58. //           arriba = Tecla para moverse hacia arriba
  59. //           abajo  = Tecla para moverse hacia abajo
  60. //---------------------------------------------------------------------------
  61.  
  62. PROCESS raqueta(x,y,arriba,abajo)
  63.  
  64. BEGIN
  65.     graph=2;        // Selecciona el gráfico
  66.     LOOP
  67.         FRAME;      // Muestra la imagen
  68.         // Si se pulsa la tecla para arriba y no ha llegado al limite
  69.         IF (key(arriba) and y>24)
  70.             y=y-4;  // Mueve la raqueta
  71.         END
  72.         // Si se pulsa la tecla para abajo y no ha llegado al limite
  73.         IF (key(abajo) and y<176)
  74.             y=y+4; // Mueve la raqueta
  75.         END
  76.     END
  77. END
  78.